package cn.edu.sgu.www.mhxysy.service.fabao;

import cn.edu.sgu.www.mhxysy.dto.fabao.FabaoDTO;
import cn.edu.sgu.www.mhxysy.entity.fabao.Fabao;
import cn.edu.sgu.www.mhxysy.pager.fabao.FabaoPager;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.transaction.annotation.Transactional;

/**
 * @author 沐雨橙风ιε
 * @version 1.0
 */
public interface FabaoService {

    /**
     * 计算并修改法宝评分
     * @param fabaoId 法宝ID
     */
    void compute(String fabaoId);

    /**
     * 添加法宝
     * @param fabaoDTO 法宝信息
     */
    @Transactional(rollbackFor = Exception.class)
    void insert(FabaoDTO fabaoDTO);

    /**
     * 通过ID删除法宝
     * @param id 法宝ID
     */
    @Transactional(rollbackFor = Exception.class)
    void deleteById(String id);

    /**
     * 通过ID修改法宝信息
     * @param fabaoDTO 法宝信息
     */
    void updateById(FabaoDTO fabaoDTO);

    /**
     * 分页查询法宝列表
     * @param pager 分页参数
     * @return Page<Fabao>
     */
    Page<Fabao> selectByPage(FabaoPager pager);
}